00ثانیه
00دقیقه
00ساعت
00روز
دسته بندی ها
10:27 1404/11/28

کم کردن حجم فیلم توسط کد در Asp net core

مشخصات سوال کننده :
کاربر : nadimi1359     امتیاز کاربر : 0     رتبه کاربر : 7209
دسته بندی : Asp.net Core Xamarin Form

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 38
هوش مصنوعی

پاسخ هوش مصنوعی

برای کم کردن حجم فیلم هنگام آپلود، می توانید از کتابخانه های JavaScript مانند ffmpeg.js استفاده کنید. این کتابخانه نسخه جاوا اسکریپت کتابخانه FFmpeg است که می تواند به شما کمک کند تا به صورت مستقیم در مرورگر ویدیو را فشرده کنید.

در اینجا یک مثال ساده برای آپلود و فشرده سازی ویدیو با استفاده از ffmpeg.js آورده شده است:


// ابتدا باید FFmpeg.js را به پروژه خود اضافه کنید
// می توانید آن را از طریق CDN اضافه کنید
// 

async function compressVideo(file) {
    const { createFFmpeg, fetchFile } = FFmpeg;
    const ffmpeg = createFFmpeg({ log: true });

    await ffmpeg.load();
    ffmpeg.FS('writeFile', 'input.mp4', await fetchFile(file));
    await ffmpeg.run('-i', 'input.mp4', '-vcodec', 'libx264', '-crf', '28', 'output.mp4');
    const data = ffmpeg.FS('readFile', 'output.mp4');
    
    // تبدیل خروجی به Blob و ساخت یک URL
    const videoBlob = new Blob([data.buffer], { type: 'video/mp4' });
    const videoUrl = URL.createObjectURL(videoBlob);
    
    // در اینجا می توانید URL را برای پیش نمایش یا آپلود به سرور استفاده کنید
    console.log(videoUrl);
}

// استفاده از تابع compressVideo
// فرض بر این است که یک ورودی فایل داریم
document.getElementById('upload').addEventListener('change', (event) => {
    const file = event.target.files[0];
    if (file) {
        compressVideo(file);
    }
});

شما همچنین می توانید از تنظیمات مختلف FFmpeg برای بهینه سازی ویدیو استفاده کنید. پارامترهای -crf برای کنترل کیفیت ویدیو است (مقدار کمتر یعنی کیفیت بالاتر و حجم بیشتر).

همچنین توجه داشته باشید که این روش ممکن است در مرورگرهای مختلف زمان بر باشد و ممکن است نیاز به منابع سیستمی بالایی داشته باشد. بنابراین، می توانید برای کاهش بار بر روی مرورگر کاربر، این فرایند را به سمت سرور منتقل کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود